%% генерация M-последовательностей
function [ Ms ] = generate_Ms( numUsers )

Ms = zeros(numUsers, 127);
if numUsers >= 2    
    Ms(1, :) = generate_mseq([1, 0, 1, 1, 1, 0, 0, 1]);
    Ms(2, :) = generate_mseq([1, 0, 1, 0, 1, 0, 1, 1]);
    fprintf('%d ', Ms(1, :)); fprintf('= M1\n')
    fprintf('%d ', Ms(2, :)); fprintf('= M2\n')
    if numUsers >= 3
        Ms(3, :) = generate_mseq([1, 1, 1, 1, 1, 1, 0, 1]);
        fprintf('%d ', Ms(3, :)); fprintf('= M3\n')
        if numUsers >= 4
            Ms(4, :) = generate_mseq([1, 1, 1, 0, 1, 1, 1, 1]);
            fprintf('%d ', Ms(4, :)); fprintf('= M4\n')
            if numUsers >= 5
                Ms(5, :) = generate_mseq([1, 1, 1, 0, 0, 1, 0, 1]);
                fprintf('%d ', Ms(5, :)); fprintf('= M5\n')                
                if numUsers >= 6
                    Ms(6, :) = generate_mseq([1, 0, 0, 0, 1, 0, 0, 1]);
                    fprintf('%d ', Ms(6, :)); fprintf('= M6\n')
                    if numUsers >= 7                        
                        Ms(7, :) = generate_mseq([1, 0, 0, 0, 0, 0, 1, 1]);
                        fprintf('%d ', Ms(7, :)); fprintf('= M7\n')
                    end
                end
            end
        end
    end
    fprintf('\n')
end

%% преобразование последовательностей в +1 -1
Ms( Ms == 0 ) = -1;

end
